
struct DH_parameters
{
	trans_k
	rot_k	
	trans_i
	rot_k
	


}




class Joint	//base class for all joints
{
	public:
		Joint(....);
		void centerPosition(coord3D position)
		virtual void actuate(float actuateLevel);
		coord3D center;
		DH_parameters DHParams;
		

	private:

		

};

class Revolute : public Joint
{
	public:
		void actuate(float actuateLevel);
	private:


};

class Prismatic : public Joint
{
	public:
		void actuate(float actuateLevel);

};


class Gripper : public Joint
{
	public:
		void clench();
		void actuate(float actuateLevel);
		bool isClenched();
		coord3D center();
		coord3D getCenter();
		vector3D orientation();
	private:
		

};

class Robot
{
	public:
		void addJoint(Joint newJoint);
		int getJointCount();
		void reset();
		
		QString getDescription();
		void setDescription(QString description);
		QList<Joint> robot;
	private:
		



};
